1. Field of the Invention
The present invention relates to electronic devices used for information processing that employ an accessory control device, and to information processing methods used in such devices, and more particularly to efficient reception and processing of information from external sources by such devices.
2. Related Technical Art
In recent years, digital electronic equipment, such as, personal computers, word processors, work stations, and other electronic equipment using built-in microprocessors, such as printers, facsimile machines, memo devices, musical instruments, cooking equipment, and cameras, has found extensive use throughout large segments of society. In addition, other widely used apparatus such as automobiles, robots, numerically controlled machines, and a variety of other electrified products, now make use of such microprocessor technology.
The application of programmable digital logic makes it possible to have more flexible control as compared to that obtained with simple feedback type controls previously used with various fixed hardware designs. In addition, when using programmable logic, essential operating functions are easily altered by simply changing command software. One advantage of this approach is that totally different control operations are obtainable for a given piece of equipment or hardware by simply modifying the contents of program storage or memory elements, such as ROMs, that store specific processing or program steps, or by loading a new program in main memory from an external device such as a floppy disk. Moreover, smaller incremental changes in function, such as occur for design revisions and upgrades, can be advantageously implemented by only upgrading software.
However, the ultimate capabilities of processor controlled electronic equipment are determined by the capabilities of the processor itself. That is, the throughput of each processor is limited by operating characteristics such as the maximum number of processing steps obtainable per unit time, the maximum number of data bits that can be processed at one time, the width of any data or command transfer buses, and so forth. As a result of these limitations, achieving improvements by merely upgrading software versions is at best limited to improving equipment ease of use. Realistically, it has not been possible to achieve significant improvements in operating functionality for existing electronic equipment.
At the same time, improving or upgrading software versions often requires replacing a ROM or other memory element in which the software is "burned in" or contained. It is much more difficult to obtain access to or change software when replacement of such code containing ROMs is required. As a result, revising software to improve equipment operation is actually very difficult unless the particular piece of electronic equipment is already scheduled for a ROM exchange, a different ROM version, at the time of its initial design, or unless the software can be supplied on a replaceable medium such as a flexible disk and used to modify stored program material.
For some applications, devices called "accelerators" are used to improve overall equipment function, operability, or capabilities by completely replacing key control components such as microprocessors which otherwise impose limits on operation. This type of hardware "upgrade" is commonly encountered with personal computers. However, this approach requires replacing components, such as a microprocessor, generally located on a motherboard within the apparatus, and represents a task that is beyond the skill of most equipment users.
In electronic devices intended for use with personal computers, a connector is often provided for installation of circuit cards containing ROM or RAM, font cartridges, etc. If an accessory control device could be mated to this connector, the functionality of the electronic device could then be improved, added to, or changed. Unfortunately, an examination of data transfer buses used for such connectors reveals that many of them use read-only signal lines, as viewed by an internal processor, in which case an accelerator or control device cannot use the connector to receive data from the processor within the electronic device.
Furthermore, for typical consumer electronic equipment such as the previously mentioned printers, facsimile machines, musical instruments, cooking equipment, cameras, automobiles, etc., absolutely no consideration is commonly given to providing for such improvements or upgrades in functionality, and no such hardware option exists. A good example of this lack of planning is seen in relation to page printers which are manufactured for use with computers.
In recent years, page printers, such as laser printers, have enjoyed widespread distribution and are rapidly becoming the common, leading, device for high-speed data and image output from computers. The resolution of laser printers typically ranges from 240 to 800 dots per inch (dpi), and printing speed is on the order of several pages a minute. Such printers principally employ an electrophotographic printer element, such as a xerography unit, which uses a photo-sensitive drum as part of a printing engine. After the printer has received and stored one page of image data (or blank area as desired), image processing steps; that is, electrostatic charge, exposure, toner application, and image transfer; take place continuously in synchronization with rotation of the photo-sensitive drum.
Therefore, page printer memory capacity for image development or processing must be sufficient to store at least one page of image data at a time. If no image data compression is employed, this capacity is determined by the printer resolution being used and the page size to be accommodated. For example, if a resolution of 300 dpi and a page size of 8 by 10 inches are used, the printer may handle as much as 8.times.300.times.10.times.300 or 7,200,000 dots or pixels, of image data. If the print or image input data is in the form of a bit mapped image, the printer only needs to accept and sequentially store this data before image processing. The processing speed for this type of operation generally depends on, and is limited by, the data transfer rate. Since parallel data transfer, such as that complying with the Centronics specification standard, occurs at a considerably high rate, it is unlikely that data transfer of bit mapped images will occur at a slower rate than the printing capability of the xerographic unit.
However, where printers receive and process other types of data, such as character codes, line positions, and line and character pitch, and then develop this data into a page image; or receive programs that describe the page using a page description language (PDL) and then interpret and process this information to generate a page image, it is necessary to perform arithmetic processing and generation of bit mapped images from the input print data. In comparison to directly transferring a simple bit mapped image, the extra image processing overhead incurred by such processing imposes a major reduction in overall printing speed. That is, the image output speed of the printer is now substantially determined, or limited, by the speed with which the processor performs image processing and memory accesses which combine to create much slower transfer rates than the xerography unit is capable of handling, resulting in a major reduction in printing capability.
For example, in a page printer capable of printing ten pages a minute, no more than six seconds are allowed for processing image data for each page to be printed to print at full speed. Processing 0.9 megabytes of stored data into an image within this time span only provides for 6.67 microseconds of processing time per byte of data (6 seconds divided by 0.9 megabytes). Such short processing periods represent a processing capacity that may or may not be realizable with currently available high-speed RISC type processors. In contrast to this processing limitation, the electrostatic image and photosensitive elements of a laser printer are often capable of easily printing ten or more pages per minute. As a result, under the current state of the art, the processing capability of a printer image data control unit represents a major bottleneck in improving overall printing speed.
In many cases image developing throughput is always less than the xerography unit throughput. Even if a processor that can provide image data developing throughput is obtained as microprocessor technology advances, it is generally impossible to improve printer functionality retro-actively. As discussed, while some page printers can have their functionality improved by installing a font or program cartridge in an expansion slot, the read-only nature of the cartridge connector data bus prevents data from being transferred to the cartridge and processed.
In addition, an examination of the method used to communicate data between a typical printer and computer reveals that even if the computer is equipped with a high speed interface such as an Ethernet or other type of network circuit board, data can only be transferred to the printer at low speeds, due to the configuration of the typical standard Centronics printer interface used. This results in a throughput bottleneck in the system.
What is needed is a new method and apparatus for realizing altered electronic device functionality and increased image processing throughput.